package controllers

import (
	"errors"
	"github.com/gin-gonic/gin"
	"net/http"
)

func Upload(c *gin.Context) {
	file, err := c.FormFile("file")
	// 检查是否有文件上传
	if errors.Is(err, http.ErrMissingFile) {
		c.JSON(http.StatusBadRequest, gin.H{
			"message": "未选择上传文件",
		})
		return
	} else if err != nil {
		c.JSON(http.StatusInternalServerError, gin.H{
			"message": "发生错误：" + err.Error(),
		})
		return
	}

	// 你可以根据需要更改保存的路径和文件名
	dst := "./uploads/" + file.Filename
	// 保存文件
	if err := c.SaveUploadedFile(file, dst); err != nil {
		c.JSON(http.StatusInternalServerError, gin.H{
			"message": "无法保存文件：" + err.Error(),
		})
		return
	}

	c.JSON(http.StatusOK, gin.H{
		"message": "文件上传成功",
	})
}
